1. Field of the Invention
The present invention generally relates to computer systems, and more particularly to a method and system for creating, maintaining and using a history of user-selected network transmission requests across a computer network. The present invention is adapted for use with the Internet""s World Wide Web, but it is generally applicable to any computer (client) which receives transmissions across any type of network.
2. Description of Related Art
A generalized client-server computing network 2 is shown in FIG. 1. Network 2 has several servers 4, 6, 8 and 10 which are interconnected, either directly to each other or indirectly through one of the other servers. Each server is essentially a stand-alone computer system (having one or more processors, memory devices, and communications devices), but has been adapted (programmed) for one primary purpose, that of providing information to individual users at workstation clients 12. A client is a member of a class or group of computers or computer systems that uses the services of another class or group. Clients 12 can also be stand-alone computer systems (like personal computers, or PCs), or xe2x80x9cdumberxe2x80x9d systems adapted for limited use with network 2 (like network computers, or NCs). As used herein, xe2x80x9cPCxe2x80x9d generally refers to any multi-purpose computer adapted for use by a single individual, regardless of the manufacturer, hardware platform, operating system, etc. A single, physical computer can act as both a server and a client, although this implementation occurs infrequently.
The information provided by a server can be in the form of programs which run locally on a given client 12, or in the form of data such as files used by other programs. Users can also communicate with each other in real-time as well as by delayed file delivery, i.e., users connected to the same server can all communicate with each other without the need for the network 2, and users at different servers, such as servers 4 and 6, can communicate with each other via network 2. The network can be local in nature, or can be further connected to other systems (not shown) as indicated with servers 8 and 10.
The construction of network 2 is also generally applicable to the Internet. In the context of a computer network such as the Internet, a client is a process (i.e., a program or task) that requests a service which is provided by another program. The client process uses the requested service without having to xe2x80x9cknowxe2x80x9d any working details about the other program or the service itself. Based upon requests by the user, a server presents filtered electronic information to the user as server responses to the client process.
Conventional protocols and services have been established for the Internet which allow the transfer of various types of information, including electronic mail, simple file transfers via FTP, remote computing via TELNET, gopher searching, Usenet newsgroups, and hypertext file delivery and multimedia streaming via the World Wide Web (WWW). A given server can be dedicated to performing one of these operations, or running multiple services. Internet services are typically accessed by specifying a unique address, or universal resource locator (URL). The URL has two basic components, the protocol to be used, and the object pathname. For example, the URL xe2x80x9chttp://www.uspto.govxe2x80x9d (home page for the U.S. Patent and Trademark Office) specifies a hypertext transfer protocol (xe2x80x9chttpxe2x80x9d) and a pathname of the server (xe2x80x9cwww.uspto.govxe2x80x9d). The server name is associated with a unique numeric value (a TCP/IP address, or xe2x80x9cdomainxe2x80x9d).
The present invention relates to the monitoring or recording of the history of user-selected network transmission requests which have occurred across a network like the Internet, but is particularly applicable to the World Wide Web, which provides files that are conveniently linked for user access. A group of documents (or web xe2x80x9cpagesxe2x80x9d) can be interrelated by providing hypertext links in each of the files. A hypertext link is an image that is viewable on the workstation""s display, which can be selected by the user (e.g., using a pointing device or xe2x80x9cmousexe2x80x9d) and which then automatically instructs the client workstation to request another page associated with that particular hypertext link (i.e., issue another URL). A hypertext link may appear as a picture, or as a word or sentence, possibly underlined or otherwise accentuated to indicate that it is an embedded link and not just normal, informative text. Hypertext files are commonly written in hypertext markup language (HTML).
A WWW page may have text, graphic (still) images, and even multimedia objects such as sound recordings or moving video clips. A hypertext page, if more than just text, is usually constructed by loading several separate files. For example, the hypertext file xe2x80x9cmain.htmlxe2x80x9d might include a reference to a graphic image file xe2x80x9cpicture.gifxe2x80x9d or to a sound file xe2x80x9cbeep.wavxe2x80x9d. When a client workstation sends a request to a server for a page, the server first transmits (at least partially) the main hypertext file associated with the page, and then loads, either sequentially or simultaneously, the other files associated with the page. A given file may further be transmitted as several separate pieces via TCP/IP protocol. The fully constructed page is then displayed on the workstation monitor. A page may be xe2x80x9clargerxe2x80x9d than the physical size of the monitor screen, and techniques such as scroll bars are used by the network communications software to view different portions of the page. This software, commonly referred to as a web browser, provides a graphical user interface (GUI) for transmitting and receiving information across the Internet.
A wide variety of methods are employed to maintain histories of web sites visited using a browser. For example, a list of favorite places, or xe2x80x9cbookmarks,xe2x80x9d can be constructed by clicking on a toolbar icon in the GUI (or using a pull-down menu command, or a keystroke combination) to add the current URL to a special file having a list of URLs which the user might want to repeatedly download, at later times. Many browsers also maintain a cache of various downloaded files (main hypertext files, multimedia files, etc., forming respective pages) so that, if a page is reloaded by the user, the client computer does not have to actually download the files across the network again, but can construct the page locally.
Another manner in which a history can be maintained is by keeping a list or table of every URL which is downloaded by the browser. These URLs can be, for example, a running trace of pages that were requested when a user selected a hypertext link, or pages that were delivered as a result of CGI (Common Gateway Interlace) programs running at various servers which generated ad hoc HTML pages, or pages that were requested by manual (keyboard) entry of the URLs. The history table can be emptied or deleted at the end of a session, or be saved and the data updated with URLs from future sessions. Some browsers allow a user to create a bookmark by selecting an entry in the history table, and then selecting a xe2x80x9cCreate Bookmarkxe2x80x9d icon or button. The URL is then copied from the history table to the bookmark file. Many browsers also allow a user to conveniently recall a page from the history table by simply selecting an entry and then selecting a xe2x80x9cGo Toxe2x80x9d icon or button (or double-clicking on the entry using a pointer device).
Yet another manner in which a user may be made aware of historical links is to compare the contents of a history table to hypertext links that are currently being displayed by the browser (i.e., links embedded in the currently loading web page), such that those links which have previously been visited can be specially highlighted. This highlighting can take the forming of underlining, bolding, or changing the color of the previously visited links. Highlighting of visited links can be made to expire when, e.g., a certain period of time has passed for the given link (like ninety days).
Sometimes a user will go through several links in a session, then end the session, and the history table will be automatically deleted (or perhaps the user will clear the table as its contents have gotten excessively large from merging the URLs visited over many different sessions). Later, the user may wish that a bookmark had been kept or that a sequence of links had been kept. Recreating the desired sequence of links can be a difficult and time-consuming task. Alternatively, a user may wish that no record be kept of a link or link sequence for privacy reasons, e.g., when the browser is shared between family members. Conversely, supervisors (or parents) might like to have a trace of links to see what their subordinates (or children) have been viewing, even if the subordinates had cleared the browser""s history table/cache. It would, therefore, be desirable to provide a more flexible method of organizing and saving link sequences. It would be further advantageous if the method allowed the sequences to be easily incorporated into other processes.
It is therefore one object of the present invention to provide an improved method of maintaining a history of user-selected network transmission requests across a network, particularly to a given client in a client-server network.
It is another object of the present invention to provide such a method that is adapted for use with the World Wide Web, and implemented in associated communications software or web browsers.
It is yet another object of the present invention to provide such a method wherein link traces can be kept, and sequences of links can be organized and saved, such that they can be reused and added together to form procedures.
The foregoing objects are achieved in a method of monitoring transmissions across a network, generally comprising the steps of connecting a client to a network, recording a history of user-selected network transmission requests to the client in a trace object, wherein the history of user-selected network transmission requests includes a trace of one or more network links (representative of user-selected network requests), assigning a unique identifier to the trace object, and saving the trace object. The network can be a client-server network such as the Internet, and the recording step can record a sequence of links to sites on the World Wide Web. The client uses communications software, such as a web browser, to interface with the network, and the software can allow toggling between a logging mode and a non-logging mode, in order to start and stop recording of link traces. Multiple traces from different network sessions can thus be merged into a single link sequence. The sequence can thereafter be used to revisit a network link contained in the history of user-selected network transmission requests. A first link sequence from the history of user-selected network transmission requests can be combined with a second link sequence to form a procedure. Supervisors can control the creation and maintenance of trace objects and link sequences by requiring a security signature to enable toggling between the logging and non-logging modes.
The above as well as additional objectives, features, and advantages of the present invention will become apparent in the following detailed written description.